package com.yc.common.constant;

/**
 * 密码相关常量
 */
public class PasswordConstants {

    /**
     * 密码错误计数的Redis键前缀
     */
    public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";

    /**
     * 默认最大密码重试次数
     */
    public static final int DEFAULT_MAX_RETRY_COUNT = 3;

    /**
     * 默认锁定时间（分钟）
     */
    public static final int DEFAULT_LOCK_TIME = 10;

    /**
     * 密码长度限制
     **/
    public static final int PASSWORD_MIN_LENGTH = 6;
    public static final int PASSWORD_MAX_LENGTH = 15;

    /**
     * 密码强度正则（6-15位，必须包含数字和字母，必须包含特殊字符(@、#、_、~)）
     */
    public static final String PASSWORD_PATTERN = "^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[@#_~])[\\w@#_~]{6,15}$";

}
